package net.peelmeagrape.hibernate;

import net.peelmeagrape.hibernate.xmlgen.XmlAttribute;
import net.peelmeagrape.hibernate.xmlgen.XmlElement;
import net.peelmeagrape.hibernate.xmlgen.XmlText;

import java.lang.annotation.Retention;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * used to assign meta-level attributes to a class
 * or property.  Is currently used by codegenerator as a placeholder for
 * values that is not directly related to OR mappings.
 */
@Retention(RUNTIME)
@XmlElement(name="meta")
public @interface Meta
{
    @XmlAttribute String attribute();
    @XmlAttribute boolean inherit() default true;
    @XmlText String value() default "";
}
